<?php
class turnier
{

  // Spieler
  public $name;
  public $team;
  public $win;
  public $lose;
  public $draw;
  public $exp;
  public $level;
  public $ratio;
  
  // Spieler Turnier Anmeldungen abfragen
  public $turnier_datum;
  public $turnier_uhrzeit;
  public $turnier_name;
  
  // Turnier Form
  public $teilnehmerzahl;
  public $datum;
  public $turnier_tabelle;
  public $turnier_format;
  
  
  // ZEIGE TEILNEHMER DIE FUERS TURNIER ANGEMELDET SIND
  //
  function TeilnehmerZahl($turnier_id)
    {
      
      $ergebnis = mysql_query("
      SELECT 
        teilnehmer_angemeldet
      FROM 
        inhalt
      WHERE
        id = '$turnier_id'
           
      "); 
        while($row = mysql_fetch_object($ergebnis))
          { 
            $this->teilnehmerzahl = $row->teilnehmer_angemeldet;
            return $row->teilnehmer_angemeldet;
          }
    }
    
   // ZEIGE MAX TEILNEHMER FUER DAS TURNIER
   // 
   function MaxTeilnehmerZahl($turnier_id)
    {
      $ergebnis = mysql_query("
      SELECT 
        teilnehmer_anzahl
      FROM 
        inhalt
      WHERE
        id = '$turnier_id'
           
      "); 
        while($row = mysql_fetch_object($ergebnis))
          { 
            return $row->teilnehmer_anzahl;
          }
    } 
    
    
    // Umrechnung EN zu DE Datum 
         function DatumUmrechnen($date)
          {
            $array = explode("-", $date);
            $date = $array[2].'.'.$array[1].'.'.$array[0];
            return $date;
          }
  
  // SPIELER ZUM TURNIER ANMELDEN
  //
  function SpielerAnmelden($turnier_id, $anzahl) // vorher pruefen ob platz im Turnier ist.
    {
      // pruefen ob spieler schon angemeldet ist
      $abfrage = mysql_query("
        SELECT
          bname, turnier_id
        FROM
          turnier_anmeldungen
        WHERE
          turnier_id = '$turnier_id'    
        ");
        
        while($row = mysql_fetch_object($abfrage))
          {  
            if($row->bname == $this->name && $row->turnier_id == $turnier_id)
               {
                  return '<span class="rot">Du bist angemeldet</span>';
               }
          }
            

                $eintragen = mysql_query("
                  UPDATE 
                    inhalt
                  SET
                    teilnehmer_angemeldet = '$anzahl'
                  WHERE 
                    id = '$turnier_id'     
                  ") or die('fehler');
                
                $eintrag_turnier_anmeldungen = $this->name;
                  
                $eintragen = mysql_query("
                  INSERT INTO turnier_anmeldungen
                    (bname, turnier_id) 
                  VALUES 
                    ('$eintrag_turnier_anmeldungen', '$turnier_id')
                  ") or die('fehler in AnmeldenSpieler'); 
    }
   
   // SPIELER ZUM TURNIER ABMELDEN
   // 
   function SpielerAbmelden($turnier_id, $teilnehmeranzahl_neu)
    {
      // pruefen ob spieler schon abgemeldet ist
      //
      $abfrage = mysql_query("
        SELECT
          *
        FROM
          turnier_anmeldungen
        WHERE
          turnier_id = '$turnier_id'
        AND
          bname = '$this->name'       
        ");
        
        
        while($row = mysql_fetch_object($abfrage))
          {   
            $benutzer_name = $row->bname;
            $benutzer_turnier_id = $row->turnier_id;
              // Wenn Benutzername und Turnier in TABELLE "turnier_anmeldungen" == Spieler loesche Eintrag
              if($benutzer_name == $this->name && $row->turnier_id == $benutzer_turnier_id)
                {
                   // LOESCHE SPIELER AUS TURNIER ANMELDUNGEN 
                   $loeschen = mysql_query("
                    DELETE FROM 
                      turnier_anmeldungen 
                    WHERE 
                      bname = '$this->name'
                    AND
                      turnier_id = '$turnier_id'  
                    ");
                  
                  // AENDER TEILNEHMERANZAHL DES TURNIERS
                  $teilnehmer = $teilnehmeranzahl_neu;
                  $eintragen = mysql_query("
                    UPDATE 
                      inhalt
                    SET
                      teilnehmer_angemeldet = '$teilnehmer'
                    WHERE 
                      id = '$turnier_id'   
                    ") or die(mysql_error());  
                 
                }
          }   
    }
   
    // SPIELER STATS ABFRAGEN UND IN DEN EIGENSCHAFTEN SPEICHERN
    //
    function StatsAbfragen($name)
    {
      $ergebnis = mysql_query("
      SELECT 
        *
      FROM 
        stats 
      WHERE
        bname = '$name'   
    ");
      
      while($row = mysql_fetch_object($ergebnis))
        {
          $this->win = $row->win;
          $this->lose = $row->lose;
          $this->draw = $row->draw;
          $this->exp = $row->exp;
          $this->level = $row->level;
          $this->ratio = $row->ratio;
        }
    }
    
    function AnmeldungenAbfragen($name)
    {
      $ergebnis = mysql_query("
      SELECT 
        *
      FROM 
        turnier_Anmeldungen 
      WHERE
        bname = '$name'   
    ");
      
      while($row = mysql_fetch_object($ergebnis))
        {
          $this->turnier_datum = $row->datum;
          $this->turnier_uhrzeit = $row->uhrzeit;
          $this->turnier_name = $row->turniername;
        }
    }
   
   // ZEIGT EINE TEILNEHMERLISTE UNTER DEN EINZELNEN TURNEREN
   // 
   function ZeigeTeilnehmer($turnier_id)
    {
      $ergebnis = mysql_query("
      SELECT 
        bname
      FROM 
        turnier_anmeldungen 
      WHERE
        turnier_id = '$turnier_id'  
      ");
        
             $users = "";
             while($row = mysql_fetch_object($ergebnis))
                {
                      $users .= $row->bname. '|';
                }
            

            $list  = explode("|", $users);
            echo '<strong>Teilnehmer</strong><br>';
              foreach($list as $wert)
                {
                  echo $wert.'<br>';
                }
                array_pop($list);
                return $list;
                  
    } 
    
    // GIBT EINE RUNDENBASIERTE LISTE AUS ANHAND DER SPIELER
    //
    function scheduler($teams)
    { 
// Check for even number or add a bye
    if (count($teams)%2 != 0)
      { 
        array_push($teams,"Freilos"); 
      } 
// Splitting the teams array into two arrays 
    $away = array_splice($teams,(count($teams)/2)); 
    $home = $teams; 
// The actual scheduling based on round robin 
    for ($i=0; $i < count($home)+count($away)-1; $i++)
      { 
        for ($j=0; $j<count($home); $j++)
          { 
            $round[$i][$j]["Home"]=$home[$j]; 
            $round[$i][$j]["Away"]=$away[$j]; 
          } 
// Check if total numbers of teams is > 2 otherwise shifting the arrays is not neccesary 
        if(count($home)+count($away)-1 > 2)
          { 
            $test2 = array_splice($home,1,1);
            $test = array_shift($test2);
            array_unshift($away,$test); 
            array_push($home,array_pop($away)); 
          } 
      } 
    return $round; 
    }
    
    
   
   function IstTurnierStart($turnier_id)
    {
      $ergebnis = mysql_query("
      SELECT 
        id, turnier_datum, turnier_zeit
      FROM 
        inhalt 
      WHERE
        id = '$turnier_id'  
      ");
        
    
             while($row = mysql_fetch_object($ergebnis))
                {
                      $id = $row->id;
                      $datum = $row->turnier_datum;
                      $zeit = $row->turnier_zeit;
                }
            
       $timestamp = time();
       $datum2 = date("Y-m-d",$timestamp);
       $uhrzeit = date("H:i",$timestamp);

       
       if($datum >= $datum2)
        {
          if($zeit > $uhrzeit)
            {
              return FALSE;
            }  
        }   
       else
        {
          return TRUE;
        }  
                  
    }
  
  function IstErgebnisEingetragen($turnier_id, $user, $gegner)
    {
      $ergebnis = mysql_query("
      SELECT 
        turnier_id, eingetragen_von
      FROM 
        spieler_ergebnisse
      WHERE
        turnier_id = '$turnier_id'
      AND
        eingetragen_von = '$user'
      AND
        gegner = '$gegner'      
      ") or die(mysql_error());
      
      while($row = mysql_fetch_object($ergebnis))
                {
                      $tid = $row->turnier_id;
                      $spieler = $row->eingetragen_von;  
                }
      if(!isset($spieler))
        {
          return FALSE; // Zeige btn Ergebnis eintragen auf Index
        }
      else
        {
          return TRUE; // Ergebnis schon vorhanden
        }            
    }  
    
    function HatGegnerErgebnisEingetragen($turnier_id, $user)
    {
      $ergebnis = mysql_query("
      SELECT 
        turnier_id, gegner
      FROM 
        spieler_ergebnisse
      WHERE
        turnier_id = '$turnier_id'
      AND
        gegner = '$user'    
      ") or die(mysql_error());
      
      while($row = mysql_fetch_object($ergebnis))
                {
                      $tid = $row->turnier_id;
                      $spieler = $row->gegner;  
                }
      if($spieler == FALSE)
        {
          return FALSE; // Verstecke Ergebnis bestaetigen Btn
        }
      else
        {
          return TRUE; // Gegner hat Ergebnis eingetragen
        }            
    }
   function SpielerZumTurnierAngemeldet($turnier_id, $username)
    {
       $ergebnis = mysql_query("
      SELECT 
        bname
      FROM 
        turnier_anmeldungen
      WHERE
        turnier_id = '$turnier_id'
      AND
        bname = '$username';  
         
      ") or die(mysql_error());
      
      
      while($row = mysql_fetch_object($ergebnis))
                {
                      $spieler = $row->bname;      
                }
    if(isset($spieler))
      {            
        return TRUE; // Spieler ist zum Turnier angemeldet
      }
      else
        {
          return FALSE; 
        }    
    }
    
  function ZeigeErgebnisse($turnier_id, $eingetragen_von, $bestaetigt_von)
    {
      $ergebnis = mysql_query("
      SELECT 
        turnier_id, eingetragen_von, bestaetigt_von, wins_user, wins_gegner
      FROM 
        spieler_ergebnisse
      WHERE
        turnier_id = '$turnier_id'
      AND
        eingetragen_von = '$eingetragen_von'
      AND
        bestaetigt_von = '$bestaetigt_von'   
      
      ") or die(mysql_error());
      
      while($row = mysql_fetch_object($ergebnis))
                {
                      echo $row->wins_user;
                      echo ' : ';
                      echo $row->wins_gegner;      
                }
    }
    
  function ZeigeErgebnisBestaetigt($tid, $eingetragen_von, $bestaetigt_von)
    {
      $ergebnis = mysql_query("
      SELECT
        bestaetigt
      FROM
        spieler_ergebnisse
      WHERE
        turnier_id = '$tid'
      AND
        eingetragen_von = '$eingetragen_von'
      AND
        bestaetigt_von = '$bestaetigt_von'  
      ") or die(mysql_error());  
      
      while($row = mysql_fetch_object($ergebnis))
                {
                      if($row->bestaetigt == 1)
                        {
                          echo ' | <span class="green"> best&auml;tigt</span>';
                        }      
                }    
    }
    
   function IstErgebnisBestaetigt($tid, $eingetragen_von, $bestaetigt_von)
    {
      $ergebnis = mysql_query("
      SELECT
        bestaetigt
      FROM
        spieler_ergebnisse
      WHERE
        turnier_id = '$tid'
      AND
        eingetragen_von = '$eingetragen_von'
      AND
        bestaetigt_von = '$bestaetigt_von'  
      ") or die(mysql_error());  
      
      while($row = mysql_fetch_object($ergebnis))
                {
                      if($row->bestaetigt == 1)
                        {
                          return TRUE;
                        }        
                }           
    }
    
    function IstKeinErgebnis($tid, $eingetragen_von, $bestaetigt_von)
  {
      $ergebnis = mysql_query("
      SELECT 
        turnier_id
      FROM 
        spieler_ergebnisse
      WHERE
        turnier_id = '$tid'
      AND
        eingetragen_von = '$eingetragen_von'
      AND
        bestaetigt_von = '$bestaetigt_von'   
      
      ") or die(mysql_error());
      
   
      
      while($row = mysql_fetch_object($ergebnis))
                {
                       $test = $row->turnier_id;
                }
                if(empty($test))
                  {
                    return TRUE;
                  }
  }
  
  function IstSpielerCreator($tid, $user)
    {
      $ergebnis = mysql_query("
        SELECT
          turnier_creator
        FROM
          inhalt
        WHERE
          id = '$tid'
        ") or die(mysql_error());
        
        while($row = mysql_fetch_object($ergebnis))
          {
            $creator = $row->turnier_creator;
          }
        if($creator == $user)
          {
            return TRUE;
          }
        else
          {
            return FALSE;
          }          
    }
    
  function StarteRunde($tid, $runde)
    {
      $aendern = mysql_query("
        UPDATE
          inhalt
        SET
          runde_gestartet = '$runde'
        WHERE
          id = '$tid'
            
        ") or die(mysql_error());    
    }
    
   function ZeigeStarteRunde($tid)
    {
      $ergebnis = mysql_query("
          SELECT
            runde_gestartet
          FROM
            inhalt
          WHERE
            id = '$tid'
          ") or die(mysql_error());
          
        while($row = mysql_fetch_object($ergebnis))
          {
            $runden_nummer = $row->runde_gestartet;
          }
        return $runden_nummer;          
    }
  function ZeigeZeitbisTurnierStart($tid)
    {
      $db = new db_mysql();
      $db->db_verbinden();
      $ergebnis = mysql_query("
          SELECT
            turnier_datum, turnier_zeit
          FROM
            inhalt
          WHERE
            id = '$tid'
          ") or die(mysql_error());
          
        while($row = mysql_fetch_object($ergebnis))
          {
            $t_datum = $row->turnier_datum;
            $t_zeit = $row->turnier_zeit; 
          }      
      $ta_datum = explode("-", $t_datum);
      $ta_zeit = explode(":", $t_zeit);
      
      $zeit = mktime($ta_zeit[0], $ta_zeit[1], $ta_zeit[2], $ta_datum[1], $ta_datum[2], $ta_datum[0]);
      $jetzt = time();
      $diff = $zeit - $jetzt;
      $tage = intval($diff/86400);
      $stunden = intval(($diff-$tage*86400)/3600);
      $minuten = intval(($diff-$tage*86400 - $stunden*3600)/60);
      $sekunden = $diff-$tage*86400-$stunden*3600-$minuten*60;
      
      if($zeit > $jetzt)
        {
          echo 'Start ' .$tage.' Tag '.$stunden.':'.$minuten.'';
        }
      else
        {
          echo 'Turnier beendet'; 
        }    
    }                        
}
?>